﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using SharedGenomics.Workbench.Core;

namespace SharedGenomics.Workbench.Presenters
{
    public abstract class AnnotationMenuProvider : IAnnotationMenuProvider
    {
        public AnnotationMenuProvider(CommandFactory commandFactory, IMenuFactory menuFactory)
        {
            this.CommandFactory = commandFactory;
            this.MenuFactory = menuFactory;
        }

        #region IAnnotationMenuProvider Members

        public abstract IMenuItem CreateMenu(SharedGenomics.Annotations.IAnnotation annotation);
        public abstract Type AnnotationType { get; }

        #endregion

        protected CommandFactory CommandFactory { get; private set; }
        protected IMenuFactory MenuFactory { get; private set; }
    }
}
